<?php
/*
* Copyright (c) 2010 by Cediti
*
* You may distribute under the terms of either the GNU Lesser General
* Public License or the new BSD License, as specified in the README file.
*/
// created :	18 March 2010
// version :	18 March 2010

/**
 * Indicates what level of changes (if any) the repository exposes via the "change log" service. Valid values are:
 *  none: The repository does not support the change log feature.
 *  objectidsonly: The change log can return only the ObjectIDs for changed objects in the repository and an indication of the type of change, not details of the actual change.
 *  properties: The change log can return properties and the ObjectID for the changed objects
 *  all: The change log can return the ObjectIDs for changed objects in the repository and more information about the actual change
 */
class Cmis_Repository_Capability_Changes extends Cmis_Repository_Capability_Abstract
{
    const VALUE_NONE = 'none';
    const VALUE_OBJECTIDSONLY = 'objectidsonly';
    const VALUE_PROPERTIES = 'properties';
    const VALUE_ALL = 'all';

    protected function _setValue($value)
    {
        $this->_value = trim($value);
        switch ($this->_value)
        {
            case self::VALUE_ALL :
            case self::VALUE_NONE :
            case self::VALUE_OBJECTIDSONLY :
            case self::VALUE_PROPERTIES :
                break;
            default:
                $this->_value = self::VALUE_NONE;
        }
    }
}

# EOF
